Java Management Extensions (JMX) is a known library extension to the JAVA programming language. JMX has been described as “a Java technology that supplies tools for managing and monitoring applications, system objects, devices (e. g. printers) and service oriented networks. Those resources are represented by objects called managed beans). In the API, classes can be dynamically loaded and instantiated.”
A known blogger blogged in June 2009 about various JMX use cases, including using JMX to manage an application's configuration, explaining that “[e]ven though each application has different needs regarding configuration (one needing a initial thread number attribute, the other an URL), every application needs to be more or less parameterized. In order to do this, countless generations of Java developers . . . have created two components: [1] the first one is a property file where one puts the name value pairs, [2] the other one is a Java class whose responsibilities are to load the properties in itself and to provide access to the values . . . This is good and fine for initialization, but what about runtime changes of those parameters? This is where JMX comes in. With JMX, you can now expose those parameters with read/write authorizations. JDK 6 provides you with the JConsole application, which can connect on JMX-enabled applications.”
Meanwhile, a well-known database vendor provides a feature found in numerous versions of its database software system. The documentation explains that “Database Change Notification is a feature that enables client applications to register queries with the database and receive notifications in response to DML or DDL changes on the objects associated with the queries. The notifications are published by the database when the DML or DDL transaction commits.”